Skip to content

Restore edge-only keys and recover failed IoT deliveries - #98

Merged
adamXbot merged 4 commits into
mainfrom
codex/edge-iot-recovery-audit
Oct 1, 2026
Merged

adamXbot merged 4 commits into
mainfrom
codex/edge-iot-recovery-audit

Conversation

@adamXbot

@adamXbot adamXbot commented Oct 1, 2026

Copy link
Copy Markdown
Collaborator

Summary

Fix edge and IoT recovery findings from the latest surface audit.

  • Back up and restore independent edge worker keys, including edge-only configurations; preserve older v1 backups and existing keys unless overwrite is requested. Explain scoped backup omissions.
  • Emit one JSON document for chained edge mint/install, including inline installer content or its output path.
  • Report device keys as prepared when installation is canceled; display installation recovery guidance for both server and edge device flows.
  • Bound IoT request and response time; accept configured trigger redirects without following them, retry failed deliveries, and start cooldown only after acceptance.
  • Track destination-specific cooldowns and log positions so documented multi-server configurations fan out correctly.
  • Retain failed log events across file rotation/removal, preserve incomplete lines, and reject failed/incomplete or wrong-interface neighbor entries.
  • Add dependency-free IoT runtime tests to the existing CI test command.

Verification

  • CLI suite: 160 tests passed locally.
  • IoT runtime suite: 10 tests passed locally, including actual hanging HTTP and streaming responses, retries, redirects, multi-destination delivery, log rotation/removal, split lines, and neighbor filtering.
  • Core build, CLI typecheck, helper syntax, and diff checks passed locally.
  • Regression tests cover independent/legacy backup restoration, overwrite policy, scoped exclusions, JSON output, and canceled installation.
  • Branch includes merged Fix remaining CLI and dashboard experience issues #93/Clear production dependency audit #94 and refreshed security dependencies; fresh CI covers the combined result.

Limits

IoT pending/cooldown state survives within the helper process and remains in memory; startup starts at the current end of a log. Independent edge-key discovery depends on platform keychain enumeration support. These limits are documented. No physical LAN, real keychain restore, Cloudflare deployment, or host installation was exercised locally.

@adamXbot
adamXbot merged commit 1bde619 into main Oct 1, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant